The term "interactive data processing system" generally describes a data processing system comprising a central processing unit which functions to store and process data, a display screen on which information from the system is displayed to the operator, and a keyboard which is used by the operator for entering information into the system. Such systems may also include a printer for producing hard copy output of selected information and one or more disk storage devices which function to transfer operating system programs, application programs, and user data between the system and the diskettes which provide off-line storage of such information.
The system is interactive in the sense of the interaction that occurs between the operator and the display screen which is determined primarily by the programs being executed by the central processing unit which, in turn, are selected by the operator. The significance to the system of keystroke data selected by the operator is dependent upon the particular state of the program being executed which is generally manifested to the operator by the information displayed to the operator. In other words, the same sequence of keystrokes can cause the system to react differently, depending on the state of the program being executed when that sequence is entered. In a similar fashion, the type and amount of information that is displayed to the operator affects, to a large degree, the amount of control the operator has over how a particular processing task is performed which, in turn, reflects on the overall performance of the system. The operator interface to the system is an important aspect of the overall system.
Personal computers currently being marked are prime examples of interactive data processing systems in which the operator interface is extremely important. An application program from a functional standpoint, may be excellent, but if the procedures required of the operator to interact with the application program are not "user friendly," the application program generally will not meet with wide acceptance in the market place. It is therefore important from both a performance and marketing standpoint that this interface be as friendly, logical, and natural as possible. These requirements reflect the fact that most operators of interactive personal computer systems have had a rather limited exposure to the technical details of the system hardware and the software. In addition, while the operator may be expected to be knowledgeable on several separate types of applications such as word processing, data base, spreadsheets, and graphics, the average operator generally is not involved in running all applications every day.
Most often, one or two applications need only be run on a periodic basis so that the operator is continually faced with a recall problem of what sequence of keystrokes are required to perform a given task in this particular application. The more natural the sequence is, the easier it is for the operator not to hesitate or make an erroneous entry in performing the task. Programs that are designed with these types of considerations for the operator, provoke less operator frustration and are generally considered "user friendly."
Certain applications, by the nature of their subject matter, are more complex than others. Most operators can relate easily to text processing type programs since they have been exposed to most of the subject matter and functions involved in these types of application programs. On the other hand, the subject matter of a spreadsheet type of program is generally less familiar to the average operator so that in addition to learning the steps involved in the user interface, there is an added element of learning various aspects of the subject matter itself. It is therefore even more important in spreadsheet type of programs that detailed aspects of the user interface be addressed from the standpoint of ease of learning and use.
A number of spreadsheet type programs are currently available for use with various personal computing systems. These programs generally display a so-called "spreadsheet," consisting of a number of columns and a number of rows, the columns being labeled alphabetically, from left to right and the rows being labeled numerically, from top to bottom. The width of the columns is expressed in terms of characters and in some spreadsheet programs, the width of each column can be set individually by the operator. The spreadsheet therefore comprises a number of "cells," the location of which is defined by the column and row, e.g., A17, E9, etc.
A cell is selected by the operator through the cursor positioning keys on the keyboard or in some programs, may be selected by keying in the cell location, preceded by an appropriate command from the operator, such as, "go to CxRx." In either case, the selected cell is highlighted and the system is in a state to perform some type of editing action specified by the operator on the selected cell. At this point in the program, the default function is one of data entry and the system is displaying a spreadsheet which is 80 characters wide and approximately 20 rows long (assuming a conventional 80 column, 24 line display). A line of information is also displayed at the top of the screen, setting forth the particular spreadsheet details, such as its name. Between the title line and the first row in the spreadsheet, there is generally also a data entry or prompt line that identifies the selected cell and provides an area where each character of data that is entered by the operator is immediately displayed. The data that is entered does not appear in the selected cell until the operator actuates the ENTER key.
This method of entering data in a selected cell is found to be frustrating to operators in some situations where the environment of the selected cell may influence how and where the data is entered in the cell.
In other cases, it has been found that because the operator's attention must be divided between two distinct areas of the screen, there is a tendency to create more errors, especially for operators who are not proficient touch typists. The present invention avoids the above-described problem.